package main.java.study.websocket.entity.vo;

import java.util.Objects;

import lombok.Data;

@Data
public class ApiProductionBatchVo {

    /**
     * 步骤开始时间
     */
    private String actionStartTime;
    /**
     * 细胞悬液体积（单位：ml）
     */
    private String cellSampleSusVol;
    /**
     * 活细胞总数
     */
    private String liveCellSampleCount;
    /**
     * 活细胞总数单位(单位：个)
     */
    private String liveCellSampleCountUnit;
    /**
     * 步骤名称
     */
    private String operSeqName;
    /**
     * 负责人
     */
    private String oper_user;
    /**
     * 批次进度百分比（单位：%）
     */
    private String progressRate;
    /**
     * 种子细胞编码
     */
    private String scii_cellCode;
    /**
     * 种子细胞来源
     */
    private String scii_seedCellRemark;
    /**
     * 阶段名称
     */
    private String stageName;
    /**
     * 批次开始时间
     */
    private String start_time;
    /**
     * 批次状态：
     * 0：未启动
     * 1：执行中
     * 2：已完成
     * 3：执行失败
     * 4：执行超时
     * 5：重启异常
     * 6: 已终止
     */
    private String status;
    /**
     * 批次号
     */
    private String task_code;
    /**
     * 批次ID
     */
    private String task_id;
    /**
     * 批次名称
     */
    private String task_name;
    /**
     * 工艺
     * MSC：MSC细胞自动化生产工艺
     * NK：NK细胞自动化生产工艺
     */
    private String template_name;

    /**
     * 袋数
     */
    private String bagNum;

    /**
     * 批次结束时间
     */
    private String processEndTime;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ApiProductionBatchVo apiProductionBatchVo = (ApiProductionBatchVo) o;
        return Objects.equals(task_code, apiProductionBatchVo.task_code) && Objects.equals(template_name, apiProductionBatchVo.template_name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(task_code, template_name);
    }
}
